var chkd_pro=[];  //保存所有已选择的产品
var page_ched_pro=[]; // 保存当前页面已选择的产品
$(function () {
    var isBridgeCompany = $("#isBridgeCompany").val();

	//上传单据凭证
	$("[name='btn_edit_product_upload_pic']").click(function () {
        var uploaded_count = $("#ctn_edit_product_pics").find("img").length;
        if (uploaded_count < 3) {
            $("#ipt_edit_product_upload_pic").click();
        } else {
            bootbox.balert("每款产品最多只能上传3张图片");
            return;
        }
    });
    $('#ipt_edit_product_upload_pic').fileupload({
        dataType: 'json',
        url: "/upload/pic?type=5",
        done: function (e, data) {
            var res = data.jqXHR.responseJSON;
            var $imgEle = $("<img src='" + PicDomain + res.data + "' data-picuri='" + res.data + "'/>");
            $imgEle.click(function () {
                $(this).remove();
            });
            $("#ctn_edit_product_pics").append($imgEle);
        }
    });
    var image1 = $("#imgofvoucher_hidden").val();
    if (image1) {
        var pictures = image1.split(",");
        for (var i in pictures) {
            var uri = pictures[i];
            if (/.+/.test(uri)) {
                var $imgEle = $("<img src='" + PicDomain + uri + "' data-picuri='" + uri + "'/>");
                $("#ctn_edit_product_pics").append($imgEle);
            }
        }
    }



    // 回显节点， 收/发地点
    $("[name='node']").find("option[value='"+$("#node_hidden").val()+"']").attr("selected",true);
    var nodeType =$("#nodeType").val();
    var nodeId = $("#node_hidden").val();
    addDept(nodeType,1);

    //获取关联产品，产品页面回显
    $.get("/lgsBills/selectedProductList/" + $("#id_hidden").val(), function (re) {
        var proList = re.data, str = "";
        for(var i=0;i<proList.length;i++){
            var id=proList[i].productId;
            chkd_pro.push(id +"");
            str += '<tr id="pro_tr_'+id+'" >' +
                '<td>'+id + '</td>'+
                '<td id="pro_name_'+id+'">'+ proList[i].productName + '</td>' +
                '<td>'+ proList[i].number + '</td>' +
                '<td>'+ proList[i].barcode + '</td>' +
                '<td> 1 * '+ proList[i].pbc+ '</td>' +
                '<td id="pro_nub_'+id+'">'+ proList[i].nubs + '</td>' +
                '<td id="pro_botnum_'+id+'">'+ proList[i].nubsFox +'</td>' +
                '<td><button type="button" class="btn btn-default btn-xs delete-btn" data-name="'+proList[i].productName+'" data-nubs="'+proList[i].nubs+'" data-id="'+id+'" >删除</button></td>'+
                '</tr>';

        }
        $('#product_table').html(str);
    });

  //加载地点异步数据  sta判断是否是首次页面加载
	function addDept(nodeType, sta){
            if(nodeType == 1){
                $("#toDepot").removeClass("hide");
                $("#fromDepot").addClass("hide");
                if(sta == 1){
                    if($("#to_hidden").val()){
                        $("[name='toId']").find("option[value='"+$("#to_hidden").val()+"']").attr("selected",true);
                    }
                }
			}else if(nodeType == 2){
                $("#fromDepot").removeClass("hide");
                $("#toDepot").addClass("hide");
                if(sta == 1){
                    if($("#from_hidden").val()){
                        $("[name='fromId']").find("option[value='"+$("#from_hidden").val()+"']").attr("selected",true);
                    }
                }
			}
	}

    //加载异步数据（获取收货地点和出货地点）
    $("#nodeSelect").on("change" ,function(){

        $("[name='toId']").prop("checked", false);
        $("[name='fromId']").prop("checked", false);
        $("[name='toId']").val("");
        $("[name='fromId']").val("");
        $("#search_cust_to").val("");
        $("#search_cust_from").val("");
        var $this = $(this), nodeId = $this.val();
        var type =  $this.find("option:selected").data("node-type"); //节点类型（1出库，2入库）
        if(type != 1 && type != 2){
            $("#toDepot").addClass("hide");
            $("#fromDepot").addClass("hide");
        }
        addDept(type, 0);

    });

    //取消单据保存
	$("[name='btn_cancel_edit_bill']").click(function(){
		window.location.href="/lgsBills";
	});
	
    //保存修改的单据
    $("[name='btn_save_edit_bill']").click(function () {
        var form = window.form_edit_bill;
        var billId = $("#id_hidden").val();
        var billsNo = form.billsNo.value;
        var nodeId = form.node.value;
        var nodeType = $("#nodeSelect option:selected").data("node-type")
        var fromId = form.fromId.value;
        var toId = form.toId.value;
        var summary = form.summary.value;
        if(!billsNo){
        	bootbox.balert("请填写单据号 !");
        	return;
        }
        
        // $.get("/lgsBills/isExists?billId=" + id, function (re) {
        // 	isExists = re.data;
        // });
        //验证产品选择
        if(chkd_pro.length  == "" ){
        	bootbox.balert("请选择产品 !");
        	return;
        }
        if(!nodeId){
        	bootbox.balert("请选择节点 !");
        	return;
        }
        if(nodeType == 1){
            if(!toId){
                bootbox.balert("请选择收货地点 !");
                return;
            }
        }else if(nodeType == 2){
            if(!fromId){
                bootbox.balert("请选择发货地点 !");
                return;
            }
        }
      //单据凭证
        var pictures = "";
        $("#ctn_edit_product_pics img").each(function () {
            pictures += $(this).data("picuri") + ",";
        });
        if (pictures.length > 0) {
            pictures = pictures.substring(0, pictures.length - 1);
        }
        var proList=[];
        for(var i=0; i<chkd_pro.length; i++) {
            var id=chkd_pro[i];
            var pro = {proId:id, proName:$("#pro_name_" + id).text(), proNub:$("#pro_nub_"+id).text()}
            proList.push(pro);
        }
        var bill = {id:billId,billsNo: billsNo, nodeId:nodeId, depotIdFrom:fromId, depotIdTo:toId, imgofvoucher:pictures,
            remark:summary, lgsBillsPro:proList};
        $.putJsonBody("/lgsBills/edit", bill, function (re) {
            window.location.href="/lgsBills";
        });
    });
    

	/***********选择商品页面 选择商品相关操作 start*********************/
  //取消商品选择
    $("#selectPro_cancel").click(function(){
    	$("[name='selectedProduct']").hide();
    });
    //选择完商品，确认
    var oldInnerHTML = $("#product_table").html();
    $("#selectPro_confirm").click(function(){
    	//关闭商品选择页面，
    	$("[name='selectedProduct']").hide();
    	
    	//获取选中的记录id,根据id查询出列表，展示
    	var chk_value =[];
    	$('input[name="product"]:checked').each(function(){
    		chk_value.push($(this).val());
    	});
    	if(chk_value.length == 0){
    		bootbox.balert("没有选中任何商品!");
    		return;
    	}else{
			// var str = oldInnerHTML;
			var str = oldInnerHTML;
			for(var i= 0; i<chk_value.length; i++){
				var id = chk_value[i];
				if($("#nubs_" +id).val() == null || $("#nubs_" +id).val() ==''){
                    bootbox.balert("ID为【"+id+"】的商品没有填写数量，请填写 !");
					return;
				}else{
                    if(chkd_pro.indexOf(id) == -1){
                        chkd_pro.push(id);
                    }else{
                        $("#pro_tr_" + id).remove();
                    }
					str += '<tr id="pro_tr_'+id+'" >' +
					'<td>'+chk_value[i] + '</td>'+
					'<td id="pro_name_'+id+'">'+ $(".name_" +id).text() + '</td>' +
					'<td>'+ $(".number_" +id).text() + '</td>' +
					'<td>'+ $(".bar_" +id).text() + '</td>' +
					'<td>'+ $(".pbc_" +id).text() + '</td>' +
					'<td id="pro_nub_'+id+'">'+ $("#nubs_" +id).val() + '</td>' +
					'<td id="pro_botnum_'+id+'">'+ $("#botnum_" +id).text() +'</td>' +
					'<td><button type="button" class="btn btn-default btn-xs delete-btn" data-id="'+id+'" >删除</button></td>'+
					'</tr>';
				}
			};

			var len = page_ched_pro.length;
			if(len>0){
			    for(var i=0;i<len;i++){
			        if(chk_value.indexOf(page_ched_pro[i]) == -1){
			            $('#pro_tr_'+page_ched_pro[i]).remove();
                        for(var j=0; j<chkd_pro.length; j++) {
                            if (chkd_pro[j] == page_ched_pro[i]) {
                                chkd_pro.splice(j, 1);
                                break;
                            }
                        }
                    }
                }
            }
			$('#product_table').append(str);
		}
    });


//选择完商品,点击删除按钮操作
    $("#product_table").on("click",".delete-btn", function(){
        var $this =$(this), id=$this.data("id");
        for(var i=0; i<chkd_pro.length; i++) {
            if(chkd_pro[i] == id) {
                chkd_pro.splice(i, 1);
                break;
            }
        }
        $this.parent().parent().remove();
        //修改产品框显示
        $("#product_"+ id).prop("checked", false);
        $("#nubs_" + id).val("");
        $("#botnum_"+id).html("");
    });

//计算箱数
    $("#product_model").on("blur",".nubs",function(){
        var $this=$(this), id=$this.data("id"), value=$this.val(), pbcPcount=$this.data("pbcpcount");
        if(value != "" &&  value != undefined){
            if(!((/^(\+|-)?\d+$/.test( value ))&&value>0)){
                bootbox.balert("数量必须是大于0的整数");
                return;
            }
            $("#botnum_"+id).html("");
            $("#botnum_"+id).append(Math.ceil(value*pbcPcount));
        }else{
            $("#botnum_"+id).html("");
        }
    });

    //产品弹出框 点击结果
    $('#selectedProduct_modals').on('show.bs.modal', function (event) {
        if(isBridgeCompany == 1){
            $('input[name="keyword"]').attr('placeholder','编码')
        }
        page_ched_pro=[];
        $('input[name="product"]').prop("checked", false);
        $(".nubs").val("");
        $(".botnum").text("");
        $('input[name="product"]').each(function(){
            var proId = $(this).val();
            if(chkd_pro.indexOf(proId) != -1){
                page_ched_pro.push(proId);
                $("#product_"+ proId).prop("checked", true);
                $("#nubs_" + proId).val($("#pro_nub_"+proId).text());
                $("#botnum_"+proId).text($("#pro_botnum_"+proId).text());
            }
        });
    });


    /**
     * 加载产品数据
    * @param page
    * @param state 值为1 时 代表的是点击查询
    */
    function resetData(page,state){
		var keyword = $('input[name="keyword"]').val();

		page = page || 1;
        var  url ="/lgsBills/getProductList?keyword=" + keyword + "&page=" +page;
        if(isBridgeCompany == 1 && state == 1){
            if(keyword=="" || keyword==undefined){
                return false;
            }
            url = "/lgsBills/getProductByNumber?keyword=" + keyword ;
        }
		$.post(url, function (re) {
			var result = re.data, resultList=result.result;

			var str = "", thisPro =[];
            page_ched_pro=[];
			for(var i=0; i<resultList.length; i++){

				var id = resultList[i].id;
                thisPro.push(id+"");
				str += '<tr>' +
				'<td><input type="checkbox" name="product" value="'+id+'" id="product_'+id+'"" /></td>'+
				'<td>'+ id + '</td>'+
				'<td class="name_'+id+ '">'+ resultList[i].name + '</td>' +
				'<td class="number_'+id+ '">'+ resultList[i].number + '</td>' +
				'<td class="bar_'+id+ '">'+ resultList[i].barcode + '</td>' +
				'<td class="pbc_'+id+ '">1 *  '+ resultList[i].pbcPcount  + '</td>' +
                '<td><input type="text" class="nubs" id="nubs_'+id+'"  data-id="'+id+'" data-pbcpcount=" '+ resultList[i].pbcPcount + '" size="5"/></td>' +
                '<td id="botnum_'+id+'" class="botnum"></td></tr>';
			}
			$('#product_model').html(str);
			resetPage(result.pageTotal, page);
            $("#proTotal").text(result.resultTotal);

            //页面回显已经选中的产品
            for(var i=0;i<chkd_pro.length;i++){
                if(thisPro.indexOf(chkd_pro[i]) != -1){
                    var proId = chkd_pro[i];
                    page_ched_pro.push(proId);
                    $("#product_"+ proId).prop("checked", true);
                    $("#nubs_" + proId).val($("#pro_nub_"+proId).text());
                    $("#botnum_"+proId).text($("#pro_botnum_"+proId).text());
                }

            }
		});
	}

	function resetPage(totalPage, currPage){
		var innerHTML = [];

		currPage = currPage || 1;

		innerHTML.push('<ul class="pagination pagination-sm no-margin">');

		if(currPage > 1){
			innerHTML.push('<li class="prev"><a href="javascript:;"><span>上一页</span></a></li><li><a href="javascript:;"><span>1</span></a></li>');
		}

		if(currPage - 4 > 1){
			innerHTML.push('<li class="bigPrev"><a href="javascript:;"><span>...</span></a></li>')
		}

		for(var i = currPage - 3; i < currPage; i++){
			if(i > 1){
				innerHTML.push('<li><a href="javascript:;"><span>',i,'</span></a></li>');
			}
		}

		innerHTML.push('<li class="active"><span>', currPage,'</span></li>')

		for(var i = currPage+1; i < currPage+3; i++){
			if(i < totalPage){
				innerHTML.push('<li><a href="javascript:;"><span>',i,'</span></a></li>');
			}
		}

		if(currPage < totalPage - 3){
			innerHTML.push('<li class="bigNext"><a href="javascript:;"><span>...</span></a></li>');
		}

		if(currPage < totalPage){
			innerHTML.push('<li><a href="javascript:;"><span>', totalPage,'</span></a></li>',
				'<li class="next"><a href="javascript:;"><span>下一页</span></a></li>');
		}

		innerHTML.push("</ul>")

		$("#page_model").data("total", totalPage).html(innerHTML.join(""));

	}

	resetPage(parseInt($("#page_model").data("total")));

	$("[name='pro_query']").click(function () {
			resetData(1,1);
	});
	$("#page_model").on("click", "li", function () {
		if($(this).hasClass("active")){
			return false;
		}
		var currPage = parseInt($("#page_model .active").text()),
			totalPage = $("#page_model").data("total");
		if($(this).hasClass("prev")){
			currPage--;
		} else if($(this).hasClass("next")){
			currPage++;
		} else if($(this).hasClass("bigPrev")){
			currPage -= 5;

			if(currPage < 1){
				currPage = 1;
			}
		} else if($(this).hasClass("bigNext")){
			currPage += 5;

			if(totalPage - currPage < 0){
				currPage = totalPage;
			}
		} else {
			currPage = parseInt($(this).text());
		}
		resetData(currPage);
	})
    /***********选择商品页面 选择商品相关操作 end***********************/
	
	
	
	
});

//删除已存在的商品
// function del_exists(id,dom){
// 	del_productId = id+",";
// 	$(dom).parent().parent().remove();
// }




 